package fr.auzaiphe.admin.view;

import java.awt.Component;

import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableCellRenderer;

/**
 * Classe permettant d'afficher des checkbox dans les tableaux
 * On etend le comportement de la classe qui génère le contenu
 * des tableaux. Les booleans sont ensuite affichés avec une checkbox
 * et non en String
 * @author Jojo
 */
public class CellCheckBoxRender extends DefaultTableCellRenderer
{
	private static final long serialVersionUID = -2524430736945560341L;

	@Override
	public Component getTableCellRendererComponent(JTable table,
			Object value, boolean isSelected, boolean hasFocus, int row,
			int column) {

		if ( value instanceof JComboBox )
		{
			return (JComboBox) value;
		}
		if ( value instanceof Boolean )
		{
			JCheckBox nChekBox = new JCheckBox();
			nChekBox.setSelected(((Boolean) value).booleanValue());
			return nChekBox;
		}
		if ( value instanceof JCheckBox )
		{
			return (JCheckBox) value;
		}

		return new JTextField( value.toString() );
	}
}